package com.neuedu.controller;

import com.alibaba.fastjson2.JSONObject;
import com.neuedu.base.R;
import com.neuedu.model.User;
import com.neuedu.service.UserService;
import com.neuedu.service.impl.UserServiceImpl;
import com.neuedu.utils.DigestUtil;

import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.Map;


/**
 * @author 逢君。1111
 */
public class UserController {

    private UserService userService=new UserServiceImpl();

    /**
     * 登录的方法
     * @param jsonObject
     * @return
     */
    public R signIn(JSONObject jsonObject){
        String username=jsonObject.getString("username");
        String password=jsonObject.getString("password");
//        前端负责这个计算，这样才能保证在网络传输的过程中，用户的原本的密码是密文。
//        password= DigestUtil.md5(password+"neuedu.com");
        //假如查询了数据库。最后得到一个user
        User user = userService.signIn(username, password);
        if(user!=null){
            //登录成功
            user.setPassword("");
            return R.ok().setData(user);
        }else{
            //登录失败，用户名/密码错误
            return R.error("用户名/密码错误");
        }
    }

    /**
     * 注册的方法
     */

    /**
     * 修改密码的方法
     */


    /**
     * 显示图片的方法
     * @return
     */
   public static final String FILE_PATH="D:\\java07";
    public void showImg(HttpServletRequest request, HttpServletResponse response){
        String fileName = request.getParameter("fileName");
       //文件夹 + 系统路径分隔符 +文件名
        File file=new File(FILE_PATH+File.separator+fileName);
        try {
            BufferedImage bufferedImage = ImageIO.read(file);
            ImageIO.write(bufferedImage,"png",response.getOutputStream());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }



    public R showAll(Map<String,String[]> map){
        List<User> users = userService.showAll();
        return R.ok("查询成功").setData(users);
    }
}
